package com.njtoyo.taxi.admin.service.business.advertise;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njtoyo.taxi.admin.rest.presenter.business.advertise.AdvertiseDetailsPresenter;
import com.njtoyo.taxi.admin.rest.presenter.business.advertise.AdvertisePagePresenter;
import com.njtoyo.taxi.admin.rest.wrapper.business.advertise.*;
import com.njtoyo.taxi.entity.backend.AdminUser;
import com.taxi.entity.common.RestResult;
import org.springframework.web.multipart.MultipartFile;

public interface AdvertiseService {

    RestResult<Page<AdvertisePagePresenter>> advertiseDriverPage(AdminUser adminUser,
                                                                 AdvertiseWrapper wrapper);

    RestResult<AdvertiseDetailsPresenter> advertiseDetails(AdminUser adminUser,
                                                           Long id);

    RestResult add(AdminUser adminUser, AdvertiseAddWrapper wrapper);

    RestResult update(AdminUser adminUser, Long id, AdvertiseUpdateWrapper wrapper);

    RestResult batchUpdateState(AdminUser adminUser, BatchUpdateStateWrapper wrapper);

    RestResult delete(AdminUser adminUser, AdvertiseDeleteWrapper wrapper);

    RestResult<String> pointTo(AdminUser adminUser, AdvertisePointToWrapper wrapper);


    RestResult upload(MultipartFile file);

    RestResult addAuto(AdminUser adminUser, AdvertiseAutoAddWrapper wrapper);

    RestResult updateAuto(AdminUser adminUser, Long id, AdvertiseAutoAddWrapper wrapper);

    RestResult getAutoTimes(Long cantonId);

    RestResult saveAutoTimes(Long cantonId, Integer times);
}
